home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC-SIG: World of Utilities
/
PC-SIG's World of Utilities (PC-SIG) (1994).iso
/
UTI
/
DISK1533.ZIP
/
PR.EXE
< prev
next >
Wrap
Text File
|
1990-05-30
|
19KB
|
392 lines
KB$="3" THEN 10300 'update
10170 IF KB$="4" THEN 11280 'delete
10180 IF KB$="M" OR KB$="m" THEN 530 'back to main
10190 GOSUB 610:GOTO 10070
10200 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
10210 ' 4.1. REVIEW COURSE DESCRIPTION
10220 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
10230 GOSUB 10240:GOTO 10070
10240 CLS:PRINT MNU1$:M1=1:GOSUB 540 'show courses
10250 IF CD=0 THEN GOSUB 580
10260 RETURN
10270 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
10280 ' 4.3. UPDATE COURSE DESCRIPTION
10290 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
10300 GOSUB 10310:GOTO 10070
10310 CLS:PRINT MNU3$
10320 RESTORE 816:GOSUB 600
10330 IF KB$<>"Y" THEN RETURN
10340 CLS:PRINT MNU3$:M1=0:GOSUB 540 'show courses
10350 IF CD=0 THEN GOSUB 580:RETURN
10360 PRINT:M1$="PRESS the line number of the course you want to update. "
10370 GOSUB 560:IF KB>0 AND KB<=CMAX AND TMP(KB)=KB THEN RN=KB:GOTO 10390
10380 PRINT:PRINT"You must choose a number from the list.":GOSUB 580:GOTO 10340
10390 RESTORE 821:GOSUB 600
10400 IF KB$<>"Y" THEN 10310
10410 '+++++ change a field +++++
10420 GOSUB 650:GOSUB 655:GET #2,RN:GET #3,RN 'get record to be changed
10430 CLS:PRINT MNU3$: PRINT:PRINT "LINE #"
10440 PRINT " 1. Course Name ";SPC(5);B2$
10450 PRINT " 2. Telephone ";SPC(5);C2$
10460 PRINT " 3. Pro's Name ";SPC(5);D2$
10470 PRINT " 4. Par scores ";SPC(5);". . ."
10480 PRINT " 5. Course Rating";SPC(5);". . ."
10490 PRINT " 6. Hole handicaps";SPC(4);". . ."
10500 PRINT:M1$="PRESS the number of the line you want to change. "
10510 GOSUB 560:IF KB>0 AND KB<=6 THEN 10540
10520 PRINT:PRINT "Please choose a line number from the list."
10530 GOSUB 580:GOTO 10430
10540 RESTORE 814:GOSUB 600
10550 IF KB$<>"Y" THEN 10430
10560 '+++++ name +++++
10570 IF KB<>1 THEN 10660
10580 LNBR=CSRLIN:CNBR=POS(0)
10590 KB$=INKEY$:IF KB$<>"" THEN 10590
10600 LOCATE LNBR,CNBR:PRINT:LINE INPUT"ENTER the replacement name. ";KB$
10610 IF LEN(KB$)>0 AND LEN(KB$)<=NMAX THEN GOSUB 700:LSET B2$=KB$:GOTO 11230
10620 LOCATE LNBR+3,CNBR:PRINT"The name is too long. ";NMAX;" letters maximum. Try again."
10630 GOSUB 580:LOCATE LNBR,CNBR:FOR I=1 TO 7:PRINT SPACE$(80);:NEXT
10640 GOTO 10590
10650 '+++++ phone # +++++
10660 IF KB<>2 THEN 10740
10670 LNBR=CSRLIN:CNBR=POS(0)
10680 KB$=INKEY$:IF KB$<>"" THEN 10680
10690 LOCATE LNBR,CNBR:PRINT:LINE INPUT"ENTER the replacement phone number. ";KB$
10700 L=LEN(KB$):IF L=8 THEN RSET C2$=KB$:GOTO 11230
10710 LOCATE LNBR+3,CNBR:PRINT"Please limit the phone number to 8 characters."
10720 GOSUB 580:LOCATE LNBR,CNBR:FOR I=1 TO 7:PRINT SPACE$(80);:NEXT:GOTO 10680
10730 '+++++ name +++++
10740 IF KB<>3 THEN 10830
10750 LNBR=CSRLIN:CNBR=POS(0)
10760 KB$=INKEY$:IF KB$<>"" THEN 10760
10770 LOCATE LNBR,CNBR:PRINT:LINE INPUT"ENTER the replacement name. ";KB$
10780 IF LEN(KB$)>0 AND LEN(KB$)<=NMAX THEN GOSUB 700:LSET D2$=KB$:GOTO 11230
10790 LOCATE LNBR+3,CNBR:PRINT"The name is too long. ";NMAX;" letters maximum. Try again."
10800 GOSUB 580:LOCATE LNBR,CNBR:FOR I=1 TO 7:PRINT SPACE$(80);:NEXT
10810 GOTO 10770
10820 '+++++ par's +++++
10830 IF KB<>4 THEN 10960
10840 T1=1:T$="MEN's":P$=E2$:RESTORE 827:GOSUB 600:IF KB$="Y" THEN 10860
10850 T1=0:T$="LADIES":P$=H2$:RESTORE 828:GOSUB 600:IF KB$<>"Y" THEN 11230
10860 N=1:M=18:GOSUB 730 'p$ to ps(i)
10870 T$=T$+" PAR's":M1$="Par"
10880 S=1:N=1:M=9:L=0:RESTORE 825:GOSUB 600
10890 IF KB$="Y" THEN GOSUB 740:GOTO 10880 'make a change
10900 S=1:N=1:M=9:L=9:RESTORE 826:GOSUB 600
10910 IF KB$="Y" THEN GOSUB 740:GOTO 10900 'make a change
10920 N=1:M=18:N$="":GOSUB 680 'convert PS(i) to P$
10930 IF T1=1 THEN LSET E2$=P$ ELSE LSET H2$=P$ 'changes made
10940 GOTO 11230
10950 '+++++ rating +++++
10960 IF KB<>5 THEN 11110
10970 CLS:PRINT MNU3$:PRINT:PRINT SPC(3)"COURSE RATING"
10980 PRINT USING"1. GOLD ##.#";CVS(K2$)
10990 PRINT USING"2. BLUE ##.#";CVS(L2$)
11000 PRINT USING"3. WHITE ##.#";CVS(F2$)
11010 PRINT USING"4. RED ##.#";CVS(I2$):PRINT
11020 M1$="PRESS the line number of your choice.(1,2,3 or 4). ":GOSUB 560
11030 IF KB<1 OR KB>4 THEN GOSUB 610:GOTO 10970
11040 T1=KB:GOSUB 12400 'get new rating
11050 IF T1=1 THEN RSET K2$=MKS$(T!)
11060 IF T1=2 THEN RSET L2$=MKS$(T!)
11070 IF T1=3 THEN RSET F2$=MKS$(T!)
11080 IF T1=4 THEN RSET I2$=MKS$(T!)
11090 GOTO 11230
11100 '+++++ handicaps +++++
11110 IF KB<>6 THEN 11230
11120 T1=1:T$="MEN's":P$=G2$:RESTORE 829:GOSUB 600:IF KB$="Y" THEN 11140
11130 T1=0:T$="LADIES":P$=J2$:RESTORE 830:GOSUB 600:IF KB$<>"Y" THEN 11230
11140 N=2:M=18:GOSUB 730 'p$ to ps(i)
11150 T$=T$+" HANDICAP's":M1$="H'cap"
11160 S=2:M=9:L=0:RESTORE 825:GOSUB 600
11170 IF KB$="Y" THEN GOSUB 740:GOTO 11160 'make a change
11180 S=2:M=9:L=9:RESTORE 826:GOSUB 600
11190 IF KB$="Y" THEN GOSUB 740:GOTO 11180 'make a change
11200 N=2:M=18:N$="":GOSUB 680 'convert PS(i) to P$
11210 IF T1=1 THEN LSET G2$=P$ ELSE LSET J2$=P$ 'changes made
11220 '+++++ update GCDIR.DAT +++++
11230 PUT #2,RN:PUT #3,RN:CLOSE #2,#3:CLS:PRINT "Update completed for ";B2$
11240 GCDIR$(RN)=A2B$:M1=0:GOSUB 540:GOSUB 590:RETURN
11250 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
11260 ' 4.4. Delete a course from the directory
11270 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
11280 GOSUB 11290:GOTO 10070
11290 CLS:PRINT MNU5$:M1=0:GOSUB 540 'show courses
11300 IF CD=0 THEN GOSUB 580:RETURN 'empty
11310 RESTORE 823:GOSUB 600:IF KB$<>"Y" THEN RETURN
11320 '
11330 PRINT:M1$="PRESS the line number of the course you want to delete. "
11340 GOSUB 560:IF KB>0 AND KB<=CMAX AND TMP(KB)=KB THEN RN=KB:GOTO 11370
11350 PRINT:PRINT"You must choose a number from the list.":GOSUB 580:GOTO 11290
11360 '+++++ test players home course
11370 J=0:T$=STR$(RN):GOSUB 660:GOSUB 641 'PDIR.DAT/TEMP.DAT
11380 FOR I=1 TO PACT:GET #4,I:IF E4$=T$ THEN J=J+1:LSET TA1$=B4$:PUT #1,J
11390 NEXT I:IF J=0 THEN 11460
11400 GOSUB 650:GET #2,RN:KB$=B2$:GOSUB 700:PRINT
11410 COLOR 0,15,0:PRINT "*** Warning *** ";:COLOR 7,0,0
11420 PRINT SPC(2)KB$;" is the home course for:":PRINT:BEEP
11430 FOR I=1 TO J:GET #1,I:PRINT TA1$;:IF FNNMODM(I,3)=0 THEN PRINT
11440 NEXT:PRINT
11450 '+++++
11460 CLOSE #1,#2,#4:RESTORE 824:GOSUB 600
11470 IF KB$<>"Y" THEN RETURN
11480 X=-1:GOSUB 640 ' reduce CACT count
11490 GOSUB 650:GOSUB 655:GET #2,RN:GET #3,RN:M1$=B2$:GOSUB 656 'init #2,#3
11500 PUT #2,RN:PUT #3,RN:CLOSE #2,#3 'write empty slots
11510 GCDIR$(RN)=A2$+B2$ 'remove course from gcdir$
11520 CLS:PRINT "Deletion completed for ";M1$
11530 M1=0:GOSUB 540:GOSUB 580:RETURN
11540 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
11550 ' 4.2. Add a course to the directory
11560 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
11570 GOSUB 11580:GOTO 10070
11580 CLS:PRINT MNU2$
11590 '+++++ Find empty slot for the addition +++++
11600 FOR X=1 TO CMAX:N=CVI(LEFT$(GCDIR$(X),2)):IF N=0 THEN 11650
11610 NEXT
11620 PRINT:PRINT"The Course Directory is full.":PRINT
11630 PRINT"To add a course you must first"
11640 PRINT"delete a course from the list.":GOSUB 580:RETURN
11650 PRINT
11660 PRINT"You should have the course ratings and scorecard for the course."
11670 GOSUB 580
11680 '+++++ open #2,#3 +++++
11690 GOSUB 650:GOSUB 655:GCDIR$(X)=MKI$(X):RN=X:RSET A2$=MKI$(RN) 'record #
11700 '+++++ name +++++
11710 KB$=INKEY$:IF KB$<>"" THEN 11710
11720 CLS:PRINT MNU2$:PRINT
11730 LINE INPUT"ENTER the name of the golf course you are adding. ";KB$
11740 L=LEN(KB$):IF L>0 AND L<=NMAX THEN 11770
11750 PRINT:PRINT"The name is too long. ";NMAX;" letters maximum. Try again."
11760 GOSUB 580:GOTO 11710
11770 IF INSTR(KB$,"*")=0 THEN 11800
11780 PRINT:PRINT"Asterisks(*) are not allowed in the course name. Try again."
11790 GOSUB 580:GOTO 11710 'bad name
11800 GOSUB 700:LSET B2$=KB$ 'name
11810 '+++++ phone # +++++
11820 KB$=INKEY$:IF KB$<>"" THEN 11820
11830 CLS:PRINT MNU2$:PRINT
11840 LINE INPUT"ENTER the pro shop phone number, e.g. 555-1212 . ";KB$
11850 L=LEN(KB$):IF L=8 THEN 11880
11860 PRINT:PRINT"Please limit the phone number to 8 characters."
11870 GOSUB 580:GOTO 11820
11880 RSET C2$=KB$ 'phone #
11890 '+++++ name +++++
11900 KB$=INKEY$:IF KB$<>"" THEN 11900
11910 CLS:PRINT MNU2$:PRINT
11920 LINE INPUT "ENTER the name of the Golf Professional. ";KB$
11930 L=LEN(KB$):IF L>0 AND L<=NMAX THEN 11960
11940 PRINT:PRINT"Please limit the name to ";NMAX;" letters maximum."
11950 GOSUB 580:GOTO 11900
11960 GOSUB 700:LSET D2$=KB$ 'name
11970 '+++++ pars
11980 KB$=B2$:GOSUB 700
11990 CLS:PRINT MNU2$:PRINT
12000 PRINT"You should have the course ratings and scorecard for ";KB$;"."
12010 GOSUB 580:M1$="MENS":GOSUB 12250:LSET E2$=P$
12020 CLS:PRINT"Are the pars for Men and Ladies the same?"
12030 RESTORE 834:GOSUB 600:IF KB$="Y" THEN 12050
12040 GOSUB 580:M1$="LADIES":GOSUB 12250 'ladies
12050 LSET H2$=P$
12060 '+++++ handicap
12070 GOSUB 580:M1$="MENS":GOSUB 12540:LSET G2$=P$ 'men
12080 CLS:PRINT"Are the Handicaps for Men and Ladies the same?"
12090 RESTORE 834:GOSUB 600:IF KB$="Y" THEN 12110
12100 GOSUB 580:M1$="LADIES":GOSUB 12540 'ladies
12110 LSET J2$=P$
12120 '+++++ rating
12130 GOSUB 580:T1=1:GOSUB 12400:RSET K2$=MKS$(T!)'gold
12140 GOSUB 580:T1=2:GOSUB 12400:RSET L2$=MKS$(T!)'blue
12150 GOSUB 580:T1=3:GOSUB 12400:RSET F2$=MKS$(T!)'white
12160 GOSUB 580:T1=4:GOSUB 12400:RSET I2$=MKS$(T!)'red
12170 '+++++ create course record +++++
12180 PUT #2,RN:PUT #3,RN:CLOSE #2,#3
12190 '+++++ Update CACT - INIT.DAT FILE +++++
12200 X=1:GOSUB 640 'Update count of active courses
12210 GCDIR$(RN)=A2B$ 'save course description
12220 CLS:PRINT"Addition completed for ";B2$:M1=0:GOSUB 540:GOSUB 590:RETURN
12230 '+++++ subroutine to get pars for front and back nines +++++
12240 '+++++ front side +++++
12250 CLS:PRINT"ENTER the ";M1$;" pars for the FRONT side."
12260 PRINT:PRINT SPC(6);"Hole # Par"
12270 S=1:N=1:M=9:L=0:GOSUB 720 'get pars
12280 PRINT:PRINT SPC(6);"Par is ";SUM
12290 RESTORE 833:GOSUB 600:T$="Change a front nine par"
12300 IF KB$="Y" THEN T1$=M1$:M1$="Par":GOSUB 740:M1$=T1$:GOTO 12290
12310 '+++++ back side +++++
12320 CLS:PRINT"ENTER the ";M1$;" pars for the BACK side."
12330 PRINT:PRINT SPC(6);"Hole # Par"
12340 S=1:N=1:M=9:L=9:GOSUB 720 'get pars
12350 PRINT:PRINT SPC(6);"Par is ";SUM:PRINT
12360 RESTORE 833:GOSUB 600:T$="Change a back nine par"
12370 IF KB$="Y" THEN T1$=M1$:M1$="Par":GOSUB 740:M1$=T1$:GOTO 12360
12380 N=1:N$="":M=18:GOSUB 680:RETURN 'convert PS(I) to P$
12390 '+++++ Get course rating +++++
12400 KB$=INKEY$:IF KB$<>"" THEN 12400
12410 IF T1=1 THEN M1$="GOLD TEEs"
12420 IF T1=2 THEN M1$="BLUE TEEs"
12430 IF T1=3 THEN M1$="WHITE TEEs"
12440 IF T1=4 THEN M1$="RED TEEs"
12450 CLS:PRINT"ENTER the course rating, e.g. 71.0, for ";M1$;" at ";B2$:PRINT
12460 INPUT"If this rating is not applicable, just press the ENTER key. ",KB$
12470 IF MID$(KB$,3,1)="." AND LEN(KB$)=4 THEN 12510
12480 IF VAL(KB$)=0 THEN 12510
12490 PRINT:PRINT"Please check the course rating and re-enter."
12500 GOSUB 580:GOTO 12450
12510 T!=VAL(KB$):RETURN 'course rating
12520 '+++++ get HANDICAP #'s +++++
12530 '+++++ front side +++++
12540 CLS:PRINT"ENTER the "M1$;" handicap numbers for the FRONT side."
12550 PRINT:PRINT SPC(6);"Hole # H'cap #"
12560 S=2:N=2:M=9:L=0:GOSUB 720 'get h'caps
12570 RESTORE 833:GOSUB 600:T$="Change a front nine handicap"
12580 IF KB$="Y" THEN T1$=M1$:M1$="H'cap":GOSUB 740:M1$=T1$:GOTO 12570
12590 '+++++ back side +++++
12600 CLS:PRINT"ENTER the ";M1$;" handicap numbers for the BACK side."
12610 PRINT:PRINT SPC(6);"Hole # H'cap #"
12620 S=2:N=2:M=9:L=9:GOSUB 720 'get h'caps
12630 RESTORE 833:GOSUB 600:T$="Change a back nine handicap"
12640 IF KB$="Y" THEN T1$=M1$:M1$="H'cap":GOSUB 740:M1$=T1$:GOTO 12630
12650 N=2:N$="":M=18:GOSUB 680:RETURN 'convert ps(i) to p$
14000 '+++++ grunt work
14010 DELETE 490-9999
14020 SAVE"b:course.asc",A
14030 RUN"b:main.bas"
15000 'for chain delete
@`Çá└α ! O o'Ç)á+└-α/ 1≡ 3@5`7Ç9á;└=α? A C≡ E`G≡ M≡ O Q≡ oWÇY≡ ╧]α_ a≡ c@e`g≡ i≡ k└mαo q s@u`wÇyá{└}≡ ü â@à` Åëáï└ ∩Å≡ æ ô@ ò` ùÇ Öá ¢└ ¥α
/
ú@
Ñ`
ºÇ
»
½└
¡α
» ▒≡ │@╡`╖Ç╣á╗└╜α┐ ┴ ├≡ ┼`╟Ç╔á╦≡ ═α╧≡ ╤ ╙@╒`╫Ç┘á█└▌α ß π@σ`τÇ ÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷10000 '*************************************************************
10010 '***** PC-GOLF THE GOLFER's PROGRAM PC-GOLF *****
10020 '***** Version 1.6 (C) 1983, ...,1988 Ed Chandler *****
10030 '*************************************************************
10040 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
10050 ' 5. GET the golfer's score sheet
10060 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
10070 CLS:PRINT MNU5$
10072 IF ROS=0 THEN 10080
10075 DEF SEG=&H40:I%=PEEK(&H17):I%=I% OR 32:POKE &H17,I% 'num lock on
10080 IF PACT>0 THEN 10120
10090 PRINT:PRINT"There are no player's scores yet, because"
10100 PRINT"no rounds have been tallied."
10110 GOSUB 580:GOTO 530 'back to main
10120 PRINT:PRINT SPC(7);"PC-GOLF's Score Sheets":PRINT
10130 PRINT SPC(3)"1. Select a player."
10140 PRINT SPC(3);MNURT$:PRINT
10150 M1$="key":M2$="(1 or M) ":GOSUB 570
10160 IF KB=1 THEN 10190
10170 IF KB$="M" OR KB$="m" THEN 530 'back to main
10180 GOSUB 610:GOTO 10070
10190 CLS:PRINT MNU5$:X=1:GOSUB 550 'show roster
10200 IF PR=0 THEN GOSUB 590:RETURN
10210 PRINT:LINE INPUT;"ENTER the line number of the player you want. ";KB$
10220 KB=VAL(KB$):IF KB>0 AND KB<=PMAX AND TMP(KB)=KB THEN 10250
10230 GOSUB 611:GOTO 10190
10240 '+++++ PDIR.DAT PLAYER.DAT GCDIR.DAT +++++
10250 GOSUB 660:GET #4,KB:GOSUB 670:GET #5,KB
10260 PRN=VAL(E4$):GOSUB 650:GOSUB 655:GET #2,PRN:GET #3,PRN:CLOSE #2,#3,#4,#5
10270 E5=CVI(E5$):J5=CVI(J5$):SSW=0 'score & putt counts,set up flag
10280 '+++++ all data is in buffers #2,#3,#4,#5 +++++
10290 IF A5$="V" THEN 10320 'ok data is valid
10300 PRINT:PRINT"There are no putts or scores in the data bank for ";B4$;
10310 GOSUB 580:GOTO 10070
10320 CLS:PRINT SPC(7);"PC-GOLF's Score Sheets":PRINT
10330 MNU1$="1. Review the scoring tables and bar charts.":PRINT SPC(3);MNU1$
10340 MNU2$="2. Review the putting tables and bar charts.":PRINT SPC(3);MNU2$
10350 PRINT SPC(3);MNURT$:PRINT
10360 M1$="key":M2$="(1,2 or M) ":GOSUB 570:TSW=KB
10370 IF KB=1 THEN 10410
10380 IF KB=2 THEN 10440
10390 IF KB$="M" OR KB$="m" THEN 10070
10400 GOSUB 610:GOTO 10320
10410 IF E5<>0 THEN 10480
10420 PRINT:PRINT"There are no scores in the data bank for ";B4$
10430 GOSUB 580:GOTO 10320
10440 IF J5<>0 THEN 10480
10450 PRINT:PRINT"There are no putts in the data bank for ";B4$
10460 GOSUB 580:GOTO 10320
10470 '+++++ put scores in arrays +++++
10480 IF SSW =1 THEN 11020 'tra if set up already
10490 N=1:FOR I=1 TO 18
10500 PS(I)=CVI(MID$(G5$,N,2)) 'gross scores
10510 IF E5<>0 THEN TAVG!(I)=PS(I)/E5 'avg gr scores
10520 IF F4$="m" THEN CP(I)=VAL(MID$(E2$,I,1)) 'course pars
10530 IF F4$="f" THEN CP(I)=VAL(MID$(H2$,I,1)) 'course pars
10540 PM!(I)=TAVG!(I)-CP(I) 'plus/minus avg gr scores
10550 IF F4$="m" THEN TMP(I)=VAL(MID$(G2$,N,2)) 'hole hcaps
10552 IF F4$="f" THEN TMP(I)=VAL(MID$(J2$,N,2)) 'hole hcaps
10560 GS(I)=I 'hole #'s & index for hole #'s
10570 N=N+2:NEXT I
10580 '+++++ AVG SCORES +++++
10590 IF E5=0 THEN 10650
10600 FOR I=1 TO 18:TX(I)=PS(I):TX!(I)=TAVG!(I):NEXT I
10610 T=E5:T3!=3:T4!=4:T5!=5:M1$=" AVERAGE SCORES ":M2$="Avg. score "
10620 GOSUB 11690 'avg scores display
10630 '+++++
10640 'sort for hole handicaps
10650 PRINT:PRINT"Calculating - Standby -":LOCATE CSRLIN-2,POS(0),0
10660 FOR I=1 TO 18:IX(I)=I:KEE(I)=TMP(I):NEXT 'set key for h'caps
10670 GOSUB 11610:FOR I=1 TO 18:IK(I)=IX(I):NEXT 'save HCAP index
10680 GOSUB 580
10690 '+++++ put putts in arrays +++++
10700 IF J5=0 THEN 10900 '# putts
10710 N=1:FOR I=1 TO 18
10720 PSP(I)=CVI(MID$(L5$,N,2)) 'actual putts
10730 PAVG!(I)=PSP(I)/J5 'avg gr putts
10740 PMP!(I)=PAVG!(I)-2 'plus/minus avg gr putts
10750 IF F4$="m" THEN CP(I)=VAL(MID$(E2$,I,1)) 'course pars
10760 IF F4$="f" THEN CP(I)=VAL(MID$(H2$,I,1)) 'course pars
10770 TMP(I)=VAL(MID$(G2$,N,2)) 'hole hcaps
10780 GS(I)=I 'hole #'s & index for hole #'s
10790 N=N+2:NEXT I
10800 '+++++ AVERAGE PUTTS +++++
10810 FOR I=1 TO 18:TX(I)=PSP(I):TX!(I)=PAVG!(I):NEXT I
10820 T=J5:T3!=PR!:T4!=T3!:T5!=T3!:M1$=" AVERAGE PUTTS ":M2$="Avg. putts "
10830 GOSUB 11690 'avg putts display
10840 'sort for plus/minus putts
10850 PRINT:PRINT"Calculating - Standby -":LOCATE CSRLIN-2,POS(0),0
10860 FOR I=1 TO 18:IX(I)=I:KEE!(I)=INT(PMP!(I)*100)*100+I:NEXT
10870 GOSUB 11650:FOR I=1 TO 18:IY(I)=IX(I):NEXT 'save +/- index
10880 GOSUB 580
10890 '+++++ potpourri +++++
10900 GOSUB 12150 'potpourri
10910 '+++++
10920 IF E5=0 THEN 11000
10930 'sort for plus/minus scores
10940 PRINT:PRINT"Calculating - Standby -":LOCATE CSRLIN-2,POS(0),0
10950 FOR I=1 TO 18:IX(I)=I:KEE!(I)=INT(PM!(I)*100)*100+I:NEXT
10960 GOSUB 11650:FOR I=1 TO 18:DD(I)=0:IJ(I)=IX(I):NEXT 'save +/- index
10970 H=VAL(D4$):DH!=0:FOR I=1 TO 18:DH!=DH!+PM!(IJ(I))
10980 IF DH!>H THEN DD(IJ(I))=I 'set for double diamond flag
10990 NEXT I
11000 GOSUB 580:SSW=1 'flag set up done
11010 '+++++
11020 IF TSW=2 THEN 11320 'scores or putts
11030 CLS:PRINT MNU1$:PRINT:PRINT SPC(8)"PC-GOLF's Score Sheets":PRINT
11040 PRINT"1. Hole Handicap sequence table"
11050 PRINT"2. Plus/Minus sequence table"
11060 PRINT"3. Average Scores bar chart"
11070 PRINT"4. Hole Handicap bar chart"
11080 PRINT"5. Low-to-High Score bar chart"
11082 PRINT"6. Scoring Trend chart"
11090 PRINT"7. Average Scores"
11100 PRINT"8. Potpourri"
11110 PRINT"9. Personal Best"
11120 PRINT MNURT$:PRINT
11130 M1$="key":M2$="(1,2,3,4,5,6,7,8,9 or M) ":GOSUB 570
11140 M1$="Avg.score":FOR I=1 TO 18:KEE!(I)=TAVG!(I):TX!(I)=PM!(I):NEXT I
11150 IF KB=1 THEN GOSUB 12430:GOTO 11020
11160 IF KB=2 THEN GOSUB 12550:GOTO 11020
11170 M1$="Average Score":FOR I=1 TO 18:TX!(I)=PM!(I):IX(I)=GS(I):NEXT I
11180 T=E5
11190 IF KB=3 THEN PTYP$="HS":GOSUB 12780:GOTO 11020
11200 M1$="Hole Handicap":FOR I=1 TO 18:IX(I)=IK(I):NEXT I
11210 IF KB=4 THEN PTYP$="HC":GOSUB 12780:GOTO 11020
11220 M1$="Low-to-High Score":FOR I=1 TO 18:IX(I)=IJ(I):NEXT I
11230 IF KB=5 THE